This invention relates generally to local area networks (LANs) and, more particularly, to LANs operating on a token ring basis and having stations capable of supporting simultaneous, bidirectional communication. In order to understand the problem addressed by the present invention, it is desirable to have a basic understanding of the system architecture and operation of LANs.
A computer network is simply a collection of autonomous computers connected together to permit sharing of hardware and software resources and sharing of information, and to increase overall reliability. The qualifying term "local area" is usually applied to computer networks in which the computers are located in a single building or in nearby buildings, such as on a college campus or at a single corporate site. When the computers are further apart, the terms "wide area network" or "long haul network" are used, but the distinction is one of degree and the definitions sometimes overlap.
The primary function of a LAN is to provide a communication channel of relatively high bandwidth and low latency time, through which computers or stations can communicate with each other. The bandwidth is a measure of the ability of the channel to carry information. For example, a channel may have a total bandwidth of 100 megabits per second (Mbits/s). Because each station on the network has only limited access to the channel, a station will typically be able to use only a fraction of this bandwidth, depending on the number of stations that are active. The latency time is a measure of the time needed to gain access to the communication channel. The bandwidth and latency of a network depend on a number of factors, such as the medium used for the communication channel, the speed of the network, the physical extent and topology of the network, the protocols or rules used to control access to the channel, the number of stations connected to the network, and the message traffic on the channel.
As computer networks have developed, various approaches have been used in the choice of communication medium, network topology, message format, protocols for channel access, and so forth. Some of these approaches have emerged as de facto standards, and a model for network architectures has been proposed and widely accepted. It is known as the International Standards Organization (ISO) Open Systems Interconnection (OSI) reference model. The OSI reference model is not itself a network architecture. Rather it specifies a hierarchy of protocol layers and defines the function of each layer in the network. Each layer in one computer of the network carries on a conversation with the corresponding layer in another computer with which communication is taking place, in accordance with a protocol defining the rules of this communication. In reality, information is transferred down from layer to layer in one computer, then through the channel medium and back up the successive layers of the other computer. However, for purposes of design of the various layers and understanding their functions, it is easier to consider each of the layers as communicating with its counterpart at the same level.
The lowest layer defined by the OSI model is called the physical layer, and is concerned with transmitting raw data bits over the communication channel, and making sure that the data bits are received without error. Design of the physical layer involves issues of electrical, mechanical or optical engineering, depending on the medium used for the communication channel. The layer next to the physical layer is called the data link layer. The main task of the data link layer is to transform the physical layer, which interfaces directly with the channel medium, into a communication link that provides communication services to the next layer above, known as the network layer. The data link layer performs such functions as structuring data into packets or frames, and attaching control information to the packets or frames, such as checksums for error detection, and, in some cases, packet numbers.
Although the data link layer is primarily independent of the nature of the physical transmission medium, certain aspects of the data link layer function are more dependent on the transmission medium. For this reason, the data link layer in some network architectures is divided into two sublayers: a logical link control sublayer, which performs all medium-independent functions of the data link layer, and a media access control (MAC) layer. This layer, or sublayer, determines which station should get access to the communication channel when there is competition for it. The functions of the MAC layer are more likely to be dependent on the nature of the transmission medium.
One common network protocol used to determine bus access priority is the token ring. In a token ring network, a set of stations is serially connected by a transmission medium to form a closed loop. Information is transmitted serially, as a stream of symbols or bits, from one active station to the next. Each station usually regenerates and repeats each symbol and also serves as the means for attaching one or more devices to the ring for the purpose of communicating with other devices on the ring. When a station has access to the ring, it transmits information onto the transmission medium, and the information circulates from one station to the next around the ring. A destination address is contained in the transmitted information, and the addressed station recognizes its address and copies the information as it passes on the ring. Finally, the original transmitting station removes the information from the ring.
A station gains the right to transmit its information onto the medium when it detects a token passing on the medium. The token is a control signal, in the form of a unique symbol that is used to schedule transmission. A station that is ready to transmit information may "capture" the token by removing it from the ring. The station may then send one or more frames of information, followed by the token, which again becomes available for capture by another station.
Typical token ring networks use optical fiber, or coaxial cable, or twisted pair cable as the transmission medium. One such network using the token ring protocol, known as the fiber distributed data interface (FDDI), is intended for operation at a bandwidth of 100 megabits per second (Mbits/s) over distances of several kilometers. The media access control (MAC) protocol for the FDDI token ring system is described in an American National Standards Institute document designated ANSI X3.139-1987. The corresponding physical layer protocol for FDDI is defined in ANSI X3.148-1988.
In addition to the layers defined by these standards, an FDDI token ring network also needs a station management protocol, which provides the control necessary at a station level to manage the various layers, such that a station may work cooperatively as a part of the token network. Station management provides services such as connection management, station insertion in and removal from the network, station initialization, configuration management, collection of statistics, and so forth.
In the station management protocol, there is a mechanism for one station to inform its immediate, i.e. logically adjacent, neighbor station of its unique address. Every station periodically executes a neighbor notification protocol, which uses this mechanism, to allow its immediate, downstream neighbor station to maintain an upstream neighbor address (UNA) database. Thus each station in the network knows the unique address of its immediate upstream neighbor station. The terms "upstream" and "downstream" refer to the direction of flow of the token and data in the network. The neighbor notification protocol requires that each station periodically transmit a neighbor identification frame (NIF), which is destined for the immediate downstream neighbor alone, and no other station. The NIF frame contains the source station's unique address and the upstream neighbor address (UNA) that the source station has learned from its upstream neighbor station.
An obvious limitation of network protocols such as the token ring is that the effective bandwidth available to any one station is reduced when many stations are actively connected to the network. If n stations are active, for a best case with no overhead, the effective bandwidth for each is only 1/nth of the channel bandwidth. Another limitation of the token ring network is that it has significant latency time that increases with the size of the network. Before a station can begin transmitting, it must wait for the token to arrive. If the token has just passed, there will be delay time while it is passed around the ring from station to station. The average delay time is the time taken to pass the token around one half of the ring, and depends on the distances between the stations, the number of stations and the message traffic on the ring. Even if no other stations are waiting to transmit, the station wishing to send a frame of data will still have to wait for the token to arrive.
There are some applications in which it would be desirable to provide a point-to-point communication link between computers at a relatively high bandwidth and without the inherent limitations of network protocols such as the token ring. Ideally, it would be desirable for these applications to have full duplex communication between two stations. In the token ring network, only one station can transmit at any time. Therefore, although a number of messages may be circulating simultaneously on the ring, operation of the communication channel formed by the ring is effectively in a half duplex mode. Even if only two stations are connected to the ring, only one can transmit at a time, and the total bandwidth of the ring, which may be 100 Mb/s in each direction, is not being utilized.
If two stations connected to the ring are capable of transmitting and receiving at the same time, they are said to be full duplex stations, but they would be incapable of operating in this mode under the conventional token ring protocol. One solution to this problem is to provide two sets of token ring connections between the two systems, to achieve an aggregate bandwidth of 200 Mb/s. However, this approach is both too costly and complex. Complexity arises because the application and system software will have to manage traffic splitting between the two connections, and load balancing to achieve the desired bandwidth of 200 Mb/s. Another solution to the problem is to provide a dedicated communication channel between the two computers needing full duplex communication, but this is both costly and inconvenient. Dedication of computer equipment or a communication channel to a narrow range of applications is clearly an inefficient use of equipment resources. Moreover, a computer user desiring full duplex connection with another computer would need additional software to connect with the full duplex channel, and would face no small inconvenience in having to disconnect from the network and reconnect to it after the need for full duplex operation was satisfied. Most users would prefer to retain the convenience of ready access to multiple network resources, and tolerate a less than desirable performance for some applications.
The cross-referenced applications disclose a technique in which full duplex communication is established between two stations on a token ring network. The technique first uses neighbor identification frames (NIFs) to determine whether there are only two active stations on the network. If this two-node test is passed, a further negotiation determines whether both stations wish to establish full duplex communication. Finally, once full duplex communication is established, the stations must be capable of returning to the token ring mode of operation if full duplex operation is no longer possible.
In the two-node test disclosed in the cross-referenced applications, each station transmits a NIF to its downstream neighbor, and the NIF contains the identity of the transmitting station's upstream neighbor. Thus, if a first station receives a NIF from a second, upstream neighbor station, and the second station's upstream neighbor is identified in the NIF as the first station, then the first station can conclude that there are only two active stations on the network. Similarly, the second station reaches the same conclusion and the two-node test is completed.
Although this type of two-node test works satisfactorily in most cases, a difficulty can arise if there is a network configuration change while the test is being performed, in which case the test may mistakenly conclude that there are only two active stations on the network.
In the technique disclosed in the cross-referenced applications, negotiation for full duplex communications involved the transmission of a full-duplex request (FDX RQ) frame by the first station, to which the second station responded with a full-duplex acknowledgment (FDX ACK) frame. The second station enters full duplex mode while processing the FDX REQ frame, but the first station does not enter full duplex mode until it receives the FDX ACK frame, which may take a relatively long time. In most token ring systems, including FDDI, there are token ring protocol timers used to recover token ring operation. When a station enters full duplex mode and a second station remains in token ring mode, the second station's token ring protocol timers may react adversely and cause the station to initialize the token ring. The token ring initialization actions will cause the first station to revert back to the token ring mode. This sequence can be repeated, seriously limiting the stations from performing efficient communication over the connection.
Another potential disadvantage of the technique disclosed in the cross-referenced applications is that continual verification of the full duplex mode is made by means of additional acknowledgement frames transmitted by the two stations. While in the full duplex mode, the stations do not test for the two-node condition. If a third node enters the network in a transparent fashion (referred to as "graceful insertion" in FDDI technical papers), the condition may not be detected. This results in a deterioration in communication over the network until the condition is eventually detected and corrected through token ring protocol timers.
It will be appreciated from the foregoing that there is still a need for improvement in techniques for negotiating establishment of full duplex communication in token ring networks. The present invention satisfies this need.